package edu.qqilin.springframework.beans.factory.support;

import edu.qqilin.springframework.beans.BeansException;
import edu.qqilin.springframework.core.io.Resource;
import edu.qqilin.springframework.core.io.ResourceLoader;

/**
 * Description: Bean 读取器接口。
 * <p>
 * 定义了从 {@link Resource} 中读取并加载 Bean 定义的标准接口。
 *
 * @author qqilin1213
 * @version 1.0
 * @date 2025/11/24 15:12
 */
public interface BeanDefinitionReader {

    BeanDefinitionRegistry getRegistry();

    ResourceLoader getResourceLoader();

    void loadBeanDefinitions(Resource resource) throws BeansException;

    void loadBeanDefinitions(Resource... resources) throws BeansException;

    void loadBeanDefinitions(String location) throws BeansException;

    void loadBeanDefinitions(String... locations) throws BeansException;

}
